home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 20.3 KB | 814 lines | [TEXT/MPS ] |
- ;
- ; File: Windows.a
- ;
- ; Contains: Window Manager Interfaces.
- ;
- ; Version: Technology: System 7.5
- ; Release: Universal Interfaces 3.0d3 on Copland DR1
- ;
- ; Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
- ;
- ; Bugs?: If you find a problem with this file, send the file and version
- ; information (from above) and the problem description to:
- ;
- ; Internet: apple.bugs@applelink.apple.com
- ; AppleLink: APPLE.BUGS
- ;
- ;
- IF &TYPE('__WINDOWS__') = 'UNDEFINED' THEN
- __WINDOWS__ SET 1
-
- IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
- include 'Types.a'
- ENDIF
- IF &TYPE('__MEMORY__') = 'UNDEFINED' THEN
- include 'Memory.a'
- ENDIF
- IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
- include 'Quickdraw.a'
- ENDIF
- IF &TYPE('__EVENTS__') = 'UNDEFINED' THEN
- include 'Events.a'
- ENDIF
- IF &TYPE('__CONTROLS__') = 'UNDEFINED' THEN
- include 'Controls.a'
- ENDIF
- IF &TYPE('__HIWINDOWTYPES__') = 'UNDEFINED' THEN
- include 'HIWindowTypes.a'
- ENDIF
- IF FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED THEN
- ;
- ;_________________________________________________________________________________________________________
- ;
- ; • WINDOW DEFINITION TYPE
- ;_________________________________________________________________________________________________________
- ;
-
- kWindowDefProcType EQU 'WDEF'
- ;
- ;_________________________________________________________________________________________________________
- ;
- ; • WINDOW DEFINITION ID'S
- ;_________________________________________________________________________________________________________
- ;
-
- kStandardWindowDefinition EQU 0 ; for document windows and dialogs
- kRoundWindowDefinition EQU 1 ; old da-style window
- kFloatingWindowDefinition EQU 124 ; for floating windows
- ;
- ;_________________________________________________________________________________________________________
- ;
- ; • VARIANT CODES
- ;_________________________________________________________________________________________________________
- ;
-
- ; for use with kStandardWindowDefinition
- kDocumentWindowVariantCode EQU 0
- kModalDialogVariantCode EQU 1
- kPlainDialogVariantCode EQU 2
- kShadowDialogVariantCode EQU 3
- kMovableModalDialogVariantCode EQU 5
- kAlertVariantCode EQU 7
- kMovableAlertVariantCode EQU 9 ; for use with kFloatingWindowDefinition
- kSideFloaterVariantCode EQU 8
- ;
- ;_________________________________________________________________________________________________________
- ;
- ; • PROC-ID'S
- ;_________________________________________________________________________________________________________
- ;
-
- documentProc EQU 0
- dBoxProc EQU 1
- plainDBox EQU 2
- altDBoxProc EQU 3
- noGrowDocProc EQU 4
- movableDBoxProc EQU 5
- zoomDocProc EQU 8
- zoomNoGrow EQU 12
- rDocProc EQU 16 ; floating window defproc ids
- floatProc EQU 1985
- floatGrowProc EQU 1987
- floatZoomProc EQU 1989
- floatZoomGrowProc EQU 1991
- floatSideProc EQU 1993
- floatSideGrowProc EQU 1995
- floatSideZoomProc EQU 1997
- floatSideZoomGrowProc EQU 1999
- ;
- ;_________________________________________________________________________________________________________
- ;
- ; • STANDARD WINDOW KINDS
- ;_________________________________________________________________________________________________________
- ;
-
- dialogKind EQU 2
- userKind EQU 8
- kDialogWindowKind EQU 2
- kApplicationWindowKind EQU 8
- ;
- ;_________________________________________________________________________________________________________
- ;
- ; • FIND WINDOW RESULT CODES
- ;_________________________________________________________________________________________________________
- ;
-
- inDesk EQU 0
- inNoWindow EQU 0
- inMenuBar EQU 1
- inSysWindow EQU 2
- inContent EQU 3
- inDrag EQU 4
- inGrow EQU 5
- inGoAway EQU 6
- inZoomIn EQU 7
- inZoomOut EQU 8
-
- wDraw EQU 0
- wHit EQU 1
- wCalcRgns EQU 2
- wNew EQU 3
- wDispose EQU 4
- wGrow EQU 5
- wDrawGIcon EQU 6
-
- deskPatID EQU 16
- ;
- ;_________________________________________________________________________________________________________
- ;
- ; • WINDOW DEFINITION HIT TEST RESULT CODES ("WINDOW PART")
- ;_________________________________________________________________________________________________________
- ;
-
- wNoHit EQU 0
- wInContent EQU 1
- wInDrag EQU 2
- wInGrow EQU 3
- wInGoAway EQU 4
- wInZoomIn EQU 5
- wInZoomOut EQU 6
- ;
- ;_________________________________________________________________________________________________________
- ;
- ; • WINDOW COLOR PART CODES
- ;_________________________________________________________________________________________________________
- ;
-
- wContentColor EQU 0
- wFrameColor EQU 1
- wTextColor EQU 2
- wHiliteColor EQU 3
- wTitleBarColor EQU 4
- ;
- ;_________________________________________________________________________________________________________
- ; • WINDOW COLOR TABLE STRUCTURE
- ;_________________________________________________________________________________________________________
- ;
- WinCTab RECORD 0
- wCSeed ds.l 1 ; offset: $0 (0) ; reserved
- wCReserved ds.w 1 ; offset: $4 (4) ; reserved
- ctSize ds.w 1 ; offset: $6 (6) ; usually 4 for windows
- ctTable ds.b 5 * ColorSpec.sizeof ; offset: $8 (8)
- sizeof EQU * ; size: $30 (48)
- ENDR
- ; typedef struct WinCTab * WCTabPtr
-
- ; typedef WCTabPtr * WCTabHandle
-
- ;
- ;_________________________________________________________________________________________________________
- ; • WINDOWRECORD
- ;_________________________________________________________________________________________________________
- ;
-
-
- ; typedef WindowRecord * WindowPeek
-
- WindowRecord RECORD 0
- port ds GrafPort ; offset: $0 (0)
- windowKind ds.w 1 ; offset: $6C (108)
- visible ds.b 1 ; offset: $6E (110)
- hilited ds.b 1 ; offset: $6F (111)
- goAwayFlag ds.b 1 ; offset: $70 (112)
- spareFlag ds.b 1 ; offset: $71 (113)
- strucRgn ds.l 1 ; offset: $72 (114)
- contRgn ds.l 1 ; offset: $76 (118)
- updateRgn ds.l 1 ; offset: $7A (122)
- windowDefProc ds.l 1 ; offset: $7E (126)
- dataHandle ds.l 1 ; offset: $82 (130)
- titleHandle ds.l 1 ; offset: $86 (134)
- titleWidth ds.w 1 ; offset: $8A (138)
- controlList ds.l 1 ; offset: $8C (140)
- nextWindow ds.l 1 ; offset: $90 (144)
- windowPic ds.l 1 ; offset: $94 (148)
- refCon ds.l 1 ; offset: $98 (152)
- sizeof EQU * ; size: $9C (156)
- ENDR
- ;
- ;_________________________________________________________________________________________________________
- ; • CWINDOWRECORD
- ;_________________________________________________________________________________________________________
- ;
-
-
- ; typedef CWindowRecord * CWindowPeek
-
- CWindowRecord RECORD 0
- port ds CGrafPort ; offset: $0 (0)
- windowKind ds.w 1 ; offset: $6C (108)
- visible ds.b 1 ; offset: $6E (110)
- hilited ds.b 1 ; offset: $6F (111)
- goAwayFlag ds.b 1 ; offset: $70 (112)
- spareFlag ds.b 1 ; offset: $71 (113)
- strucRgn ds.l 1 ; offset: $72 (114)
- contRgn ds.l 1 ; offset: $76 (118)
- updateRgn ds.l 1 ; offset: $7A (122)
- windowDefProc ds.l 1 ; offset: $7E (126)
- dataHandle ds.l 1 ; offset: $82 (130)
- titleHandle ds.l 1 ; offset: $86 (134)
- titleWidth ds.w 1 ; offset: $8A (138)
- controlList ds.l 1 ; offset: $8C (140)
- nextWindow ds.l 1 ; offset: $90 (144)
- windowPic ds.l 1 ; offset: $94 (148)
- refCon ds.l 1 ; offset: $98 (152)
- sizeof EQU * ; size: $9C (156)
- ENDR
- ;
- ;_________________________________________________________________________________________________________
- ; • AUXWINDHANDLE
- ;_________________________________________________________________________________________________________
- ;
-
-
- ; typedef AuxWinRec * AuxWinPtr
-
- ; typedef AuxWinPtr * AuxWinHandle
-
- AuxWinRec RECORD 0
- awNext ds.l 1 ; offset: $0 (0) ; handle to next AuxWinRec
- awOwner ds.l 1 ; offset: $4 (4) ; ptr to window
- awCTable ds.l 1 ; offset: $8 (8) ; color table for this window
- reserved ds.l 1 ; offset: $C (12)
- awFlags ds.l 1 ; offset: $10 (16) ; reserved for expansion
- awReserved ds.l 1 ; offset: $14 (20) ; reserved for expansion
- awRefCon ds.l 1 ; offset: $18 (24) ; user Constant
- sizeof EQU * ; size: $1C (28)
- ENDR
- ;
- ;_________________________________________________________________________________________________________
- ; • WSTATEHANDLE
- ;_________________________________________________________________________________________________________
- ;
- WStateData RECORD 0
- userState ds Rect ; offset: $0 (0) ; user state
- stdState ds Rect ; offset: $8 (8) ; standard state
- sizeof EQU * ; size: $10 (16)
- ENDR
- ; typedef struct WStateData * WStateDataPtr
-
- ; typedef WStateDataPtr * WStateDataHandle
-
- ;
- ;_________________________________________________________________________________________________________
- ;
- ; • API
- ;_________________________________________________________________________________________________________
- ;
- ;
- ; pascal void InitWindows(void )
- ;
- IF ¬ GENERATINGCFM THEN
- _InitWindows: OPWORD $A912
- ELSE
- IMPORT_CFM_FUNCTION InitWindows
- ENDIF
-
- ;
- ; pascal WindowPtr NewWindow(void *wStorage, const Rect *boundsRect, ConstStr255Param title, Boolean visible, short theProc, WindowPtr behind, Boolean goAwayFlag, long refCon)
- ;
- IF ¬ GENERATINGCFM THEN
- _NewWindow: OPWORD $A913
- ELSE
- IMPORT_CFM_FUNCTION NewWindow
- ENDIF
-
- ;
- ; pascal WindowPtr GetNewWindow(short windowID, void *wStorage, WindowPtr behind)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetNewWindow: OPWORD $A9BD
- ELSE
- IMPORT_CFM_FUNCTION GetNewWindow
- ENDIF
-
- ;
- ; pascal WindowPtr NewCWindow(void *wStorage, const Rect *boundsRect, ConstStr255Param title, Boolean visible, short procID, WindowPtr behind, Boolean goAwayFlag, long refCon)
- ;
- IF ¬ GENERATINGCFM THEN
- _NewCWindow: OPWORD $AA45
- ELSE
- IMPORT_CFM_FUNCTION NewCWindow
- ENDIF
-
- ;
- ; pascal void DisposeWindow(WindowPtr theWindow)
- ;
- IF ¬ GENERATINGCFM THEN
- _DisposeWindow: OPWORD $A914
- ELSE
- IMPORT_CFM_FUNCTION DisposeWindow
- ENDIF
-
- ;
- ; pascal void CloseWindow(WindowPtr theWindow)
- ;
- IF ¬ GENERATINGCFM THEN
- _CloseWindow: OPWORD $A92D
- ELSE
- IMPORT_CFM_FUNCTION CloseWindow
- ENDIF
-
- ;
- ; pascal void InvalRect(const Rect *badRect)
- ;
- IF ¬ GENERATINGCFM THEN
- _InvalRect: OPWORD $A928
- ELSE
- IMPORT_CFM_FUNCTION InvalRect
- ENDIF
-
- ;
- ; pascal void InvalRgn(RgnHandle badRgn)
- ;
- IF ¬ GENERATINGCFM THEN
- _InvalRgn: OPWORD $A927
- ELSE
- IMPORT_CFM_FUNCTION InvalRgn
- ENDIF
-
- ;
- ; pascal void ValidRect(const Rect *goodRect)
- ;
- IF ¬ GENERATINGCFM THEN
- _ValidRect: OPWORD $A92A
- ELSE
- IMPORT_CFM_FUNCTION ValidRect
- ENDIF
-
- ;
- ; pascal void ValidRgn(RgnHandle goodRgn)
- ;
- IF ¬ GENERATINGCFM THEN
- _ValidRgn: OPWORD $A929
- ELSE
- IMPORT_CFM_FUNCTION ValidRgn
- ENDIF
-
- ;
- ; pascal Boolean CheckUpdate(EventRecord *theEvent)
- ;
- IF ¬ GENERATINGCFM THEN
- _CheckUpdate: OPWORD $A911
- ELSE
- IMPORT_CFM_FUNCTION CheckUpdate
- ENDIF
-
- ;
- ; pascal void ClipAbove(WindowPtr window)
- ;
- IF ¬ GENERATINGCFM THEN
- _ClipAbove: OPWORD $A90B
- ELSE
- IMPORT_CFM_FUNCTION ClipAbove
- ENDIF
-
- ;
- ; pascal void SaveOld(WindowPtr window)
- ;
- IF ¬ GENERATINGCFM THEN
- _SaveOld: OPWORD $A90E
- ELSE
- IMPORT_CFM_FUNCTION SaveOld
- ENDIF
-
- ;
- ; pascal void DrawNew(WindowPtr window, Boolean update)
- ;
- IF ¬ GENERATINGCFM THEN
- _DrawNew: OPWORD $A90F
- ELSE
- IMPORT_CFM_FUNCTION DrawNew
- ENDIF
-
- ;
- ; pascal void PaintOne(WindowPtr window, RgnHandle clobberedRgn)
- ;
- IF ¬ GENERATINGCFM THEN
- _PaintOne: OPWORD $A90C
- ELSE
- IMPORT_CFM_FUNCTION PaintOne
- ENDIF
-
- ;
- ; pascal void PaintBehind(WindowPtr startWindow, RgnHandle clobberedRgn)
- ;
- IF ¬ GENERATINGCFM THEN
- _PaintBehind: OPWORD $A90D
- ELSE
- IMPORT_CFM_FUNCTION PaintBehind
- ENDIF
-
- ;
- ; pascal void CalcVis(WindowPtr window)
- ;
- IF ¬ GENERATINGCFM THEN
- _CalcVis: OPWORD $A909
- ELSE
- IMPORT_CFM_FUNCTION CalcVis
- ENDIF
-
- ;
- ; pascal void CalcVisBehind(WindowPtr startWindow, RgnHandle clobberedRgn)
- ;
- IF ¬ GENERATINGCFM THEN
- _CalcVisBehind: OPWORD $A90A
- ELSE
- IMPORT_CFM_FUNCTION CalcVisBehind
- ENDIF
-
- ;
- ; pascal void SetWinColor(WindowPtr theWindow, WCTabHandle newColorTable)
- ;
- IF ¬ GENERATINGCFM THEN
- _SetWinColor: OPWORD $AA41
- ELSE
- IMPORT_CFM_FUNCTION SetWinColor
- ENDIF
-
- ;
- ; pascal void SetDeskCPat(PixPatHandle deskPixPat)
- ;
- IF ¬ GENERATINGCFM THEN
- _SetDeskCPat: OPWORD $AA47
- ELSE
- IMPORT_CFM_FUNCTION SetDeskCPat
- ENDIF
-
- ;
- ; pascal WindowPtr GetNewCWindow(short windowID, void *wStorage, WindowPtr behind)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetNewCWindow: OPWORD $AA46
- ELSE
- IMPORT_CFM_FUNCTION GetNewCWindow
- ENDIF
-
- ;
- ; pascal void SetWTitle(WindowPtr theWindow, ConstStr255Param title)
- ;
- IF ¬ GENERATINGCFM THEN
- _SetWTitle: OPWORD $A91A
- ELSE
- IMPORT_CFM_FUNCTION SetWTitle
- ENDIF
-
- ;
- ; pascal void GetWTitle(WindowPtr theWindow, Str255 title)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetWTitle: OPWORD $A919
- ELSE
- IMPORT_CFM_FUNCTION GetWTitle
- ENDIF
-
- ;
- ; pascal void GetWMgrPort(GrafPtr *wPort)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetWMgrPort: OPWORD $A910
- ELSE
- IMPORT_CFM_FUNCTION GetWMgrPort
- ENDIF
-
- ;
- ; pascal void GetCWMgrPort(CGrafPtr *wMgrCPort)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetCWMgrPort: OPWORD $AA48
- ELSE
- IMPORT_CFM_FUNCTION GetCWMgrPort
- ENDIF
-
- ;
- ; pascal void SetWRefCon(WindowPtr theWindow, long data)
- ;
- IF ¬ GENERATINGCFM THEN
- _SetWRefCon: OPWORD $A918
- ELSE
- IMPORT_CFM_FUNCTION SetWRefCon
- ENDIF
-
- ;
- ; pascal long GetWRefCon(WindowPtr theWindow)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetWRefCon: OPWORD $A917
- ELSE
- IMPORT_CFM_FUNCTION GetWRefCon
- ENDIF
-
- ;
- ; pascal void SelectWindow(WindowPtr theWindow)
- ;
- IF ¬ GENERATINGCFM THEN
- _SelectWindow: OPWORD $A91F
- ELSE
- IMPORT_CFM_FUNCTION SelectWindow
- ENDIF
-
- ;
- ; pascal void HideWindow(WindowPtr theWindow)
- ;
- IF ¬ GENERATINGCFM THEN
- _HideWindow: OPWORD $A916
- ELSE
- IMPORT_CFM_FUNCTION HideWindow
- ENDIF
-
- ;
- ; pascal void ShowWindow(WindowPtr theWindow)
- ;
- IF ¬ GENERATINGCFM THEN
- _ShowWindow: OPWORD $A915
- ELSE
- IMPORT_CFM_FUNCTION ShowWindow
- ENDIF
-
- ;
- ; pascal void ShowHide(WindowPtr theWindow, Boolean showFlag)
- ;
- IF ¬ GENERATINGCFM THEN
- _ShowHide: OPWORD $A908
- ELSE
- IMPORT_CFM_FUNCTION ShowHide
- ENDIF
-
- ;
- ; pascal void HiliteWindow(WindowPtr theWindow, Boolean fHilite)
- ;
- IF ¬ GENERATINGCFM THEN
- _HiliteWindow: OPWORD $A91C
- ELSE
- IMPORT_CFM_FUNCTION HiliteWindow
- ENDIF
-
- ;
- ; pascal void BringToFront(WindowPtr theWindow)
- ;
- IF ¬ GENERATINGCFM THEN
- _BringToFront: OPWORD $A920
- ELSE
- IMPORT_CFM_FUNCTION BringToFront
- ENDIF
-
- ;
- ; pascal void SendBehind(WindowPtr theWindow, WindowPtr behindWindow)
- ;
- IF ¬ GENERATINGCFM THEN
- _SendBehind: OPWORD $A921
- ELSE
- IMPORT_CFM_FUNCTION SendBehind
- ENDIF
-
- ;
- ; pascal WindowPtr FrontWindow(void )
- ;
- IF ¬ GENERATINGCFM THEN
- _FrontWindow: OPWORD $A924
- ELSE
- IMPORT_CFM_FUNCTION FrontWindow
- ENDIF
-
- ;
- ; pascal void DrawGrowIcon(WindowPtr theWindow)
- ;
- IF ¬ GENERATINGCFM THEN
- _DrawGrowIcon: OPWORD $A904
- ELSE
- IMPORT_CFM_FUNCTION DrawGrowIcon
- ENDIF
-
- ;
- ; pascal void MoveWindow(WindowPtr theWindow, short hGlobal, short vGlobal, Boolean front)
- ;
- IF ¬ GENERATINGCFM THEN
- _MoveWindow: OPWORD $A91B
- ELSE
- IMPORT_CFM_FUNCTION MoveWindow
- ENDIF
-
- ;
- ; pascal void SizeWindow(WindowPtr theWindow, short w, short h, Boolean fUpdate)
- ;
- IF ¬ GENERATINGCFM THEN
- _SizeWindow: OPWORD $A91D
- ELSE
- IMPORT_CFM_FUNCTION SizeWindow
- ENDIF
-
- ;
- ; pascal void ZoomWindow(WindowPtr theWindow, short partCode, Boolean front)
- ;
- IF ¬ GENERATINGCFM THEN
- _ZoomWindow: OPWORD $A83A
- ELSE
- IMPORT_CFM_FUNCTION ZoomWindow
- ENDIF
-
- ;
- ; pascal void BeginUpdate(WindowPtr theWindow)
- ;
- IF ¬ GENERATINGCFM THEN
- _BeginUpdate: OPWORD $A922
- ELSE
- IMPORT_CFM_FUNCTION BeginUpdate
- ENDIF
-
- ;
- ; pascal void EndUpdate(WindowPtr theWindow)
- ;
- IF ¬ GENERATINGCFM THEN
- _EndUpdate: OPWORD $A923
- ELSE
- IMPORT_CFM_FUNCTION EndUpdate
- ENDIF
-
- ;
- ; pascal void SetWindowPic(WindowPtr theWindow, PicHandle pic)
- ;
- IF ¬ GENERATINGCFM THEN
- _SetWindowPic: OPWORD $A92E
- ELSE
- IMPORT_CFM_FUNCTION SetWindowPic
- ENDIF
-
- ;
- ; pascal PicHandle GetWindowPic(WindowPtr theWindow)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetWindowPic: OPWORD $A92F
- ELSE
- IMPORT_CFM_FUNCTION GetWindowPic
- ENDIF
-
- ;
- ; pascal long GrowWindow(WindowPtr theWindow, Point startPt, const Rect *bBox)
- ;
- IF ¬ GENERATINGCFM THEN
- _GrowWindow: OPWORD $A92B
- ELSE
- IMPORT_CFM_FUNCTION GrowWindow
- ENDIF
-
- ;
- ; pascal short FindWindow(Point thePoint, WindowPtr *theWindow)
- ;
- IF ¬ GENERATINGCFM THEN
- _FindWindow: OPWORD $A92C
- ELSE
- IMPORT_CFM_FUNCTION FindWindow
- ENDIF
-
- ;
- ; pascal long PinRect(const Rect *theRect, Point thePt)
- ;
- IF ¬ GENERATINGCFM THEN
- _PinRect: OPWORD $A94E
- ELSE
- IMPORT_CFM_FUNCTION PinRect
- ENDIF
-
- ;
- ; pascal long DragGrayRgn(RgnHandle theRgn, Point startPt, const Rect *limitRect, const Rect *slopRect, short axis, DragGrayRgnUPP actionProc)
- ;
- IF ¬ GENERATINGCFM THEN
- _DragGrayRgn: OPWORD $A905
- ELSE
- IMPORT_CFM_FUNCTION DragGrayRgn
- ENDIF
-
- ;
- ; pascal long DragTheRgn(RgnHandle theRgn, Point startPt, const Rect *limitRect, const Rect *slopRect, short axis, DragGrayRgnUPP actionProc)
- ;
- IF ¬ GENERATINGCFM THEN
- _DragTheRgn: OPWORD $A926
- ELSE
- IMPORT_CFM_FUNCTION DragTheRgn
- ENDIF
-
- ;
- ; pascal Boolean TrackBox(WindowPtr theWindow, Point thePt, short partCode)
- ;
- IF ¬ GENERATINGCFM THEN
- _TrackBox: OPWORD $A83B
- ELSE
- IMPORT_CFM_FUNCTION TrackBox
- ENDIF
-
- ;
- ; pascal Boolean TrackGoAway(WindowPtr theWindow, Point thePt)
- ;
- IF ¬ GENERATINGCFM THEN
- _TrackGoAway: OPWORD $A91E
- ELSE
- IMPORT_CFM_FUNCTION TrackGoAway
- ENDIF
-
- ;
- ; pascal void DragWindow(WindowPtr theWindow, Point startPt, const Rect *boundsRect)
- ;
- IF ¬ GENERATINGCFM THEN
- _DragWindow: OPWORD $A925
- ELSE
- IMPORT_CFM_FUNCTION DragWindow
- ENDIF
-
- ;
- ; pascal short GetWVariant(WindowPtr theWindow)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetWVariant: OPWORD $A80A
- ELSE
- IMPORT_CFM_FUNCTION GetWVariant
- ENDIF
-
- ;
- ; pascal Boolean GetAuxWin(WindowPtr theWindow, AuxWinHandle *awHndl)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetAuxWin: OPWORD $AA42
- ELSE
- IMPORT_CFM_FUNCTION GetAuxWin
- ENDIF
-
- ;
- ; pascal RgnHandle GetGrayRgn(void)
- ;
- IF ¬ GENERATINGCFM THEN
- Macro
- _GetGrayRgn &dest=(sp)
- move.l $09EE,&dest
- EndM
- ELSE
- IMPORT_CFM_FUNCTION GetGrayRgn
- ENDIF
-
- ;
- ;_________________________________________________________________________________________________________
- ;
- ; • PROCS
- ;_________________________________________________________________________________________________________
- ;
- ;
- ;_________________________________________________________________________________________________________
- ;
- ; • C GLUE
- ;_________________________________________________________________________________________________________
- ;
- ;
- ;_________________________________________________________________________________________________________
- ;
- ; • WindowRecord accessor macros
- ;_________________________________________________________________________________________________________
- ;
- ;
- ;*****************************************************************************
- ;* *
- ;* The conditional STRICT_WINDOWS has been removed from this interface file. *
- ;* The accessor macros to a WindowRecord are no longer necessary. *
- ;* *
- ;*****************************************************************************
- ;
- ;Details:
- ;The original purpose of the STRICT_ conditionals and accessor macros was to
- ;help ease the transition to Copland. Shared data structures are difficult
- ;to coordinate in a preemptive multitasking OS. By hiding the fields in a
- ;WindowRecord and other data structures, we would begin the migration to
- ;system data structures being completely hidden from applications.
- ;
- ;After many design reviews, it was finally concluded that with this sort of
- ;migration, the system could never tell when an application was no longer
- ;peeking at a WindowRecord, and thus the data structure might never become
- ;system owned. Additionally, there were many other limitations in the classic
- ;toolbox that were begging to be addressed.
- ;
- ;The final decision was to leave the traditional toolbox as a compatibility mode.
- ;The preferred toolbox API for Copland is a new SOM(tm) based architecture
- ;(e.g. HIWindows.idl). Windows, menu, controls, etc are each a SOM object
- ;with methods for drawing, event handling, and customization.
- ;
- ;
- ENDIF
- ENDIF ; __WINDOWS__
-
-